home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
archiver
/
lz13.zip
/
MACROS2.MLB
< prev
Wrap
Text File
|
1988-10-20
|
7KB
|
538 lines
.xlist
;Tweaked MACROS1.MLB
;Haven't tried all these out yet.
;David Kirschbaum
;Toad Hall
;kirsch@braggvax.ARPA
getchr macro
mov ah,1
int 21h
endm
putchr macro chr
ifdif <dl>,<chr>
mov dl,chr
endif
mov ah,2
int 21h
endm
getaux macro
mov ah,3
int 21h
endm
putaux macro chr
ifdif <dl>,<chr>
mov dl,chr
endif
mov ah,4
int 21h
endm
putprn macro chr
ifdif <dl>,<chr>
mov dl,chr
endif
mov ah,5
int 21h
endm
dcio macro char
ifnb <char>
mov dl,0ffh
else
ifdif <dl>,<char>
mov dl,char
endif
endif
mov ah,6h
int 21h
endm
dcinne macro
mov ah,7h
int 21h
endm
noecho macro func
ifnb <func>
ifdif <al>,<func>
mov ax,0800H+func
endif
else
mov ax,0800H
endif
int 21H
endm
print macro str
mov dx,offset str
mov ah,9h
int 21h
endm
input macro buf
mov dx,offset buf
mov ah,0ah
int 21h
endm
dskrst macro
mov ah,0dh
int 21h
endm
seldsk macro drv
ifdif <dl>,<drv>
mov dl,drv
endif
mov ah,0eh
int 21h
endm
open macro fcb
mov dx,offset fcb
mov ah,0fh
int 21h
endm
close macro fcb
mov dx,offset fcb
mov ah,10h
int 21h
endm
sfirst macro fcb
mov dx,offset fcb
mov ah,11h
int 21h
endm
snext macro fcb
mov dx,offset fcb
mov ah,12h
int 21h
endm
delete macro fcb
mov dx,offset fcb
mov ah,13h
int 21h
endm
seqrd macro fcb
mov dx,offset fcb
mov ah,14h
int 21h
endm
seqwrt macro fcb
mov dx,offset fcb
mov ah,15h
int 21h
endm
create macro fcb
mov dx,offset fcb
mov ah,16h
int 21h
endm
rename macro fcb
mov dx,offset fcb
mov ah,17h
int 21h
endm
getdrv macro
mov ah,19h
int 21h
endm
setdta macro buf
mov dx,offset buf
mov ah,1ah
int 21h
endm
rndrd macro fcb
mov dx,offset fcb
mov ah,21h
int 21h
endm
rndwrt macro fcb
mov dx,offset fcb
mov ah,22h
int 21h
endm
getsiz macro fcb
mov dx,offset fcb
mov ah,23h
int 21h
endm
setrel macro fcb
mov dx,offset fcb
mov ah,24h
int 21h
endm
setvec macro int,addr
mov dx,offset addr
mov ax,2500H+int
int 21h
endm
rndbrd macro fcb,siz
mov dx,offset fcb
ifdif <cx>,<siz>
mov cx,siz
endif
mov ah,27h
int 21h
endm
rndbwr macro fcb,siz
mov dx,offset fcb
ifdif <cx>,<siz>
mov cx,siz
endif
mov ah,28h
int 21h
endm
parse macro string,fcb,flag
ifdif <[si]>,<string>
mov si,offset string
endif
ifdif <[di]>,<fcb>
mov di,offset fcb
endif
ifdif <al>,<flag>
mov ax,2900H+flag
else
mov ah,29H
endif
int 21h
endm
getdat macro year,month,day
mov ah,2ah
int 21h
mov year,cx
mov month,dh
mov day,dl
endm
setdat macro year,month,day
mov cx,year
mov dh,month
mov dl,day
mov ah,2bh
int 21h
endm
gettim macro hour,minute,second
mov ah,2ch
int 21h
mov hour,ch
mov minute,cl
mov second,dh
endm
settim macro hour,minute,second
mov ch,hour
mov cl,minute
mov dh,second
xor dl,dl
mov ah,2dh
int 21h
endm
wrtver macro onoff
ifdif <al>,<onoff>
mov ax,2E00H+onoff
else
mov ah,2EH
endif
int 21h
endm
getdta macro buf
push bx
push es
mov ah,2fh
int 21h
mov word ptr buf,bx
mov word ptr buf+2,es
pop es
pop bx
endm
dosver macro
mov ah,30h
int 21h
endm
break macro onoff
ifnb <onoff>
ifdif <dl>,<onoff>
mov dl,onoff
endif
mov ax,3301H
else
mov ax,3300H
endif
int 21h
endm
getvec macro int
mov ax,3500H+int
int 21h
endm
free macro drv
ifnb <drv>
ifdif <dl>,<drv>
mov dl,drv
endif
else
xor dl,dl
endif
mov ah,36h
int 21h
endm
credir macro path
mov dx,offset path
mov ah,39h
int 21h
endm
remdir macro path
mov dx,offset path
mov ah,3ah
int 21h
endm
setdef macro path
mov dx,offset path
mov ah,3bh
int 21h
endm
hcreat macro path,attrib
mov dx,offset path
ifdif <cx>,<attrib>
mov cx,attrib
endif
mov ah,3ch
int 21h
endm
hopen macro path,mode
mov dx,offset path
ifdif <al>,<mode>
mov ax,3D00H+mode
else
mov ah,3DH
endif
int 21h
endm
hclose macro handle
ifdif <bx>,<handle>
mov bx,handle
endif
mov ah,3eh
int 21h
endm
hread macro handle,buf,siz
ifdif <bx>,<handle>
mov bx,handle
endif
mov dx,offset buf
ifdif <cx>,<siz>
mov cx,siz
endif
mov ah,3fh
int 21h
endm
hwrite macro handle,buf,siz
ifdif <bx>,<handle>
mov bx,handle
endif
mov dx,offset buf
ifdif <cx>,<siz>
mov cx,siz
endif
mov ah,40h
int 21h
endm
deletp macro path
mov dx,offset path
mov ah,41h
int 21h
endm
movptr macro handle,dist,method
ifdif <bx>,<handle>
mov bx,handle
endif
mov dx,dist
mov cx,dist+2
mov ax,4200H+method
int 21h
endm
setatr macro path,attrib
mov dx,offset path
ifnb <attrib>
ifdif <cx>,<attrib>
mov cx,attrib
endif
mov ax,4301H
else
mov ax,4300H
endif
int 21h
endm
getdef macro path,drv
ifdif <[si]>,<path>
mov si,offset path
endif
ifdif <dl>,<drv>
mov dl,drv
endif
mov ah,47h
int 21h
endm
malloc macro siz
ifdif <bx>,<siz>
mov bx,siz
endif
mov ah,48h
int 21h
endm
fremem macro segm
ifnb <segm>
mov es,segm
endif
mov ah,49h
int 21h
endm
setmem macro siz,segm
ifnb <segm>
mov es,segm
endif
ifdif <bx>,<siz>
mov bx,siz
endif
mov ah,4ah
int 21h
endm
exec macro path,param,func
ifnb <func>
mov ax,4B00H+func
else
mov ax,4b00h
endif
mov dx,path
mov bx,param
int 21h
endm
exit macro
mov ax,4c00h
xor dx,dx
int 21h
endm
ffirst macro path,attrib
mov dx,offset path
ifdif <cx>,<attrib>
mov cx,attrib
endif
mov ah,4eh
int 21h
endm
fnext macro
mov ah,4fh
int 21h
endm
renamp macro old,new
mov dx,offset old
mov di,offset new
mov ah,56h
int 21h
endm
tmstmp macro handle,date,time
ifdif <bx>,<handle>
mov bx,handle
endif
ifnb <date>
ifdif <dx>,<date>
mov dx,date
endif
ifdif <cx>,<time>
mov cx,time
endif
mov ax,5701H
else
mov ax,5700H
endif
int 21h
endm
filtim record fil_hour:5,fil_minute:6,fil_second:5
fildat record fil_year:7,fil_month:4,fil_day:5
fcb struc
fcb_drive db ?
fcb_fname db ' '
fcb_ftype db ' '
fcb_curblk dw ?
fcb_recsiz dw ?
fcb_filsiz dd ?
fcb_upddat dw ?
fcb_resrvd db 10 dup (?)
fcb_currec db ?
fcb_relrec dd ?
fcb ends
srcbuf struc
src_drive db ?
src_fname db 8 dup (?)
src_ftype db 3 dup (?)
src_resrvd db 10 dup (?)
src_updtim dw ?
src_upddat dw ?
src_clust1 dw ?
src_filsiz dd ?
srcbuf ends
fndbuf struc
fnd_resrvd db 21 dup (?)
fnd_attrib db ?
fnd_updtim dw ?
fnd_upddat dw ?
fnd_filsiz dd ?
fnd_filnam db 13 dup (?)
fndbuf ends
.list